40 research outputs found

    Pervasive Parallel And Distributed Computing In A Liberal Arts College Curriculum

    Get PDF
    We present a model for incorporating parallel and distributed computing (PDC) throughout an undergraduate CS curriculum. Our curriculum is designed to introduce students early to parallel and distributed computing topics and to expose students to these topics repeatedly in the context of a wide variety of CS courses. The key to our approach is the development of a required intermediate-level course that serves as a introduction to computer systems and parallel computing. It serves as a requirement for every CS major and minor and is a prerequisite to upper-level courses that expand on parallel and distributed computing topics in different contexts. With the addition of this new course, we are able to easily make room in upper-level courses to add and expand parallel and distributed computing topics. The goal of our curricular design is to ensure that every graduating CS major has exposure to parallel and distributed computing, with both a breadth and depth of coverage. Our curriculum is particularly designed for the constraints of a small liberal arts college, however, much of its ideas and its design are applicable to any undergraduate CS curriculum

    Trying To Do It All In A Single Course: A Surprisingly Good Idea

    No full text
    We present the curricular design and learning goals of an upper-level undergraduate course that covers a wide breadth of topics in parallel and distributed computing (PDC), while also providing students with depth of experience and development of problem solving, programming, and analysis skills. We discuss lessons learned from our experiences teaching this course over the past 10 years, and discuss changes and improvements we have made in its offerings, as well as choices and trade-offs we made to achieve a balance, in a single course, between breadth and depth of topic across these two huge fields. Evaluations from students support that our approach works well meeting the goals of exposing students to a broad range of PDC topics, building important PDC thinking and programming skills, and meeting other pedagogical goals of an advance upper-level undergraduate CS course. Although our single course design was created due to constraints common to smaller schools that have fewer faculty resources, smaller curricula, and often fewer required courses for their majors, our experiences with this course lead us to conclude that it is a good approach for an advanced undergraduate course on PDC at any institution

    Using Female Mentors To Recruit Undergraduate Women in Computer Science

    No full text

    The Global Digital Divide And Its Effect On Women Scientists Worldwide

    No full text

    NSF Women And The Development Of The Internet

    No full text

    Working At Home Faster

    No full text

    Using image processing projects to teach cs1 topics

    No full text
    As Computer Science educators, we know that students learn more from projects that are fun and challenging, that seem “real ” to them, and that allow them to be creative in designing their solutions. When we have students beating down our office doors wanting to show us what they’ve done, we know we have designed a project that truly meets its pedagogical goals. In CS1 courses, it is often difficult to come up with large, real-world programming projects that are at an appropriate level and that really excite students. This is particularly true in the first half of the course when students are learning basic programming and problem solving skills. We found that assignments based on image processing are an effective way to teach many CS1 topics. Because students enjoy working on the projects, they come away with a solid understanding of the topics reinforced by the projects. In this paper, we discuss many ways in which image processing could be used to teach CS1 topics. As an example, we present two image processing projects that we use in our CS1 course. These large, real-world programs are designed so that students can successfully master them early in their first semester of programming. Even though our CS1 course is taught using the C programming language, these projects could easily be used by a CS1 course in C, C++, or Java. We provide starting point code for Java and C versions of the projects, and provide sample assignment write-ups on our project webpage [12]

    Integrating Parallel and Distributed Computing Topics into an Undergraduate CS Curriculum

    No full text
    Abstract—We present changes to our undergraduate computer science curriculum for a small liberal arts college. The changes are designed to incorporate parallel and distributed computing topics into all levels of our curriculum, with the goal of ensuring that all graduating CS majors have exposure to, and experience with, parallel and distributed computing. Our effort is motivated by the ACM/IEEE Ironman Curriculum, which includes a increased focus on these important topics. In addition, we use the NSF/IEEE-TCPP model curriculum as a guide in our effort. Because of the small size of our department, and the breadth constraints of a liberal arts college, we face some unique challenges. Our multi-year effort involves at least six courses in our curriculum. Of these courses, one is a new introductory-level course, while the others are existing courses whose content has been modified to include more focus on these important topics. We present our curricular changes and we discuss an initial evaluation of the first implementation of these changes. I
    corecore